package com.achievement.domain.dto.honor;

import com.achievement.domain.dto.honor.HonorAuthorDTO;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

@Data
public class HonorDTO {
    /**
     * ID
     */
    private String id;

    /**
     * 奖励名称
     */
    @ApiModelProperty(value = "奖励名称")
    private String name;

    /**
     * 成果名称
     */
    @ApiModelProperty(value = "成果名称")
    private String productName;

    /**
     * 获奖类型 1成果奖 2人才奖
     */
    @ApiModelProperty(value = "获奖类型 成果奖 人才奖")
    private Integer honorNumber;

    /**
     * 发证机关
     */
    @ApiModelProperty(value = "发证机关")
    private String honorUnit;

    /**
     * 获奖日期
     */
    @ApiModelProperty(value = "获奖日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date honorDate;

    /**
     * 获奖级别 1国家级 2部级 3省级 4地市级 5学校级 6其他
     */
    @ApiModelProperty(value = "获奖级别 1国家级 2部级 3省级 4地市级 5学校级 6其他")
    private String honorLevelId;

    /**
     * 获奖等级 1特等奖 2一等级 3二等奖 4三等奖 5四等奖 6其他奖
     */
    @ApiModelProperty(value = "获奖等级 1特等奖 2一等级 3二等奖 4三等奖 5四等奖 6其他奖")
    private String honorGradeId;

    /**
     * 完成单位
     */
    @ApiModelProperty(value = "完成单位")
    private String completeUnit;

    /**
     * 总参加单位数
     */
    @ApiModelProperty(value = "总参加单位数")
    private Integer totalUnitNum;

    /**
     * 单位排名
     */
    @ApiModelProperty(value = "单位排名")
    private String unitOrderId;

    /**
     * 奖励批准号
     */
    @ApiModelProperty(value = "奖励批准号")
    private String honorSn;

    /**
     * 学科门类 2科技类 1社科类
     */
    @ApiModelProperty(value = "学科门类 2科技类 1社科类")
    private String subjectClassId;

    /**
     * 学科分类 1数学 2信息科学与系统科学 3力学
     */
    @ApiModelProperty(value = "学科分类 1数学 2信息科学与系统科学 3力学")
    private String subjectId;

    /**
     * 项目来源 202国家科技支撑计划 206国家科技部
     */
    @ApiModelProperty(value = "项目来源 202国家科技支撑计划 206国家科技部")
    private String projectSourceId;

    /**
     * 成果形式
     */
    @ApiModelProperty(value = "成果形式")
    private String productMode;

    /**
     * 奖励类别 1国家最高科学技术奖 2国家自然科学奖
     */
    @ApiModelProperty(value = "奖励类别 1国家最高科学技术奖 2国家自然科学奖")
    private String honorTypeId;

    /**
     * 所属单位
     */
    @ApiModelProperty(value = "所属单位")
    private String unitId;

    /**
     * DIVISION_ID
     */
    @ApiModelProperty(value = "DIVISION_ID")
    private String divisionId;

    /**
     * 作者数量
     */
    @ApiModelProperty(value = "作者数量")
    private Integer authorNumber;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String note;

    /**
     * 奖励证书
     */
    @ApiModelProperty(value = "奖励证书")
    private String fileIds;

    /**
     * 第一作者id
     */
    @ApiModelProperty(value = "第一作者id")
    private String firstAuthorId;

    /**
     * 第一作者姓名
     */
    @ApiModelProperty(value = "第一作者姓名")
    private String firstAuthorName;

    /**
     * 第一作者账号
     */
    @ApiModelProperty(value = "第一作者账号")
    private String firstAuthorAccount;

    /**
     * 第一作者职称 1A教授 2A副教授
     */
    @ApiModelProperty(value = "第一作者职称 1A教授 2A副教授")
    private String firstAuthorTitleId;

    /**
     * 第一作者性别
     */
    @ApiModelProperty(value = "第一作者性别")
    private String firstAuthorSexId;

    /**
     * 第一作者学历 0博士研究生 1硕士研究生
     */
    @ApiModelProperty(value = "第一作者学历 0博士研究生 1硕士研究生")
    private String firstAuthorEduLevelId;

    /**
     * 第一作者学位
     */
    @ApiModelProperty(value = "第一作者学位")
    private String firstAuthorEduDegreeId;

    /**
     * 审核状态
     */
    @ApiModelProperty(value = "审核状态")
    private String checkstatus;

    /**
     * 审核时间
     */
    @ApiModelProperty(value = "审核时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private String checkdate;

    /**
     * 审核人
     */
    @ApiModelProperty(value = "审核人")
    private String checker;



    /**
     * 合作类型 1独立申请 2联合申请
     */
    @ApiModelProperty(value = "合作类型 1独立申请 2联合申请")
    private String cooperationType;

    /**
     * 获奖金额
     */
    @ApiModelProperty(value = "获奖金额")
    private String honorFee;

    /**
     * 学校规模
     */
    @ApiModelProperty(value = "本校奖金比例")
    private String schoolScale;

    /**
     * 奖励类别
     */
    @ApiModelProperty(value = "奖励类别")
    private String honorType;

    /**
     * 作者IDS
     */
    @ApiModelProperty(value = "作者IDS")
    private String authorpids;

    /**
     * 作者单位IDS
     */
    @ApiModelProperty(value = "作者单位IDS")
    private String authorunitids;
    /**
     * COMPLETEDATASTATUS
     */
    @ApiModelProperty(value = "COMPLETEDATASTATUS")
    private String completedatastatus;
    /**
     * 所有完成人名称字符串
     */
    @ApiModelProperty(value = "所有完成人名称")
    private String authornames;
    /**
     * 完成人信息 通用提交
     */
    @ApiModelProperty(value = "完成人信息 通用提交")
    private List<HonorAuthorDTO> honorAuthorDTOs;

    @ApiModelProperty("提交类型 -> -1:暂存,1:提交,2:保存并通过")
    private Integer submitType;
    @ApiModelProperty(value = "是否审核人员")
    private Boolean isAuditor;
    @ApiModelProperty("流程节点id")
    private String taskId;

}
